union R {
    int;
    double;
    R;
};

protocol selfRecUnion {
child:
    async Test(R r);
    async __delete__();
};
